A Compiler Infrastructure for High-Performance Java

نویسندگان

  • Neil V. Brewster
  • Tarek S. Abdelrahman
چکیده

This paper describes the zJava compiler infrastructure, a high-level framework for the analysis and transformation of Java programs. This framework provides a robust system, guaranteeing under transformations both the consistency of its internal structure and the syntactic correctness of the represented code. We address several challenges unique to Java, which have not been addressed by earlier frameworks. These include automatic maintenance of complex symbol scope information under transformations, insertion of implicit code to accurately model the source program, incorporation of compiled code into the representation, and representation of the complex control flow of exception handling constructs. We include support for the sharing of information between compiler passes, and a framework for interprocedural analysis. We believe that the features we introduce in the zJava compiler infrastructure will result in a means of rapidly prototyping new Java compiler analyses. We give a number of examples illustrating the use and utility of the infrastructure.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling Java to SUIF: Incorporating Support for Object-Oriented Languages

A primary objective in the SUIF compiler design has been to develop an infrastructure for research in a variety of compiler topics including optimizations on object-oriented languages. However, the task of optimizing object-oriented languages requires that high-level object constructs be visible in SUIF. Java is a statically-typed, object-oriented and interpreted language that has the same requ...

متن کامل

A Test Infrastructure for Compilers Targeting Fpgas

This paper presents an infrastructure to verify the functionality of the specific architectures generated by a high-level compiler, targeting dynamically reconfigurable hardware. Java, XML, and XSL technologies are used to support the infrastructure. As simulation engine we use Hades, an event driven Java based simulator. It results in a suitable scheme to test the designs generated by the comp...

متن کامل

A Verifiable SSA Program Representation for Aggressive Compiler Optimization Extended

We present a verifiable low-level program representation to embed, propagate, and preserve safety information in high performance compilers for safe languages such as Java and C#. Our representation precisely encodes safety information via static single-assignment (SSA) [11, 3] proof variables that are first-class constructs in the program. We argue that our representation allows a compiler to ...

متن کامل

Computer Science Technical Report Compiling Java to SUIF: Incorporating Support for Object-Oriented Languages

A primary objective in the SUIF compiler design has been to develop an infrastructure for research in a variety of compiler topics including optimizations on object-oriented languages. However, the task of optimizing object-oriented languages requires that highlevel object constructs be visible in SUIF. Java is a statically-typed, object-oriented and interpreted language that has the same requi...

متن کامل

Runtime Code Generation with JVM and CLR

Modern bytecode execution environments with optimizing just-in-time compilers, such as Sun’s Hotspot Java Virtual Machine, IBM’s Java Virtual Machine, and Microsoft’s Common Language Runtime, provide an infrastructure for generating fast code at runtime. Such runtime code generation can be used for efficient implementation of parametrized algorithms. More generally, with runtime code generation...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001